package com.atguigu.phoenix;

import java.sql.*;

/**
 * Created by Smexy on 2023/2/23
 *
 *  类比Hive。
 *      使用方式:
 *          使用命令行工具：
 *              胖客户端:
 *                  hivecli --->hql---->解析hql--->翻译为对应的Job---->提交运行---->返回结果
 *
 *          使用JDBC方式:
 *                  分客户端：  beeline | idea
 *                  分服务端:  hiveserver2
 *              瘦客户端:
 *                  客户端 ----> hql ------>发送给服务端hiveserver2
 *                  hql---->解析hql--->翻译为对应的Job---->提交运行---->返回结果
 *
 *              胖瘦是以打包后的体积作为判断标准。
 *
 *     ----------------------------
 *           胖客户端: 无需服务端
 *                  在客户端做所有的事情
 *
 *           瘦客户端: 在客户端编写和发送sql给服务端。
 *                      后续再由服务端，执行后续的操作。
 *
 *    ---------------------------
 *          ①有连接(url,driver(省略),username,password)
 *          ②准备sql
 *          ③发送sql
 *          ④使用完毕，关闭连接
 */
public class FatClientDemo
{
    public static void main(String[] args) throws SQLException {

        // 1.添加链接
        String url = "jdbc:phoenix:hadoop102,hadoop103,hadoop104:2181";

        // 2.获取连接
        Connection connection = DriverManager.getConnection(url);

        // 3.编译SQL语句
        PreparedStatement preparedStatement = connection.prepareStatement("select * from student");

        // 4.执行语句
        ResultSet resultSet = preparedStatement.executeQuery();

        // 5.输出结果
        while (resultSet.next()){
            System.out.println(resultSet.getString(1) + ":" + resultSet.getString(2) + ":" + resultSet.getString(3));
        }

        // 6.关闭资源
        connection.close();

    }
}
